/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package LiveReservations.model.business;

import LiveReservations.model.Rating;
import LiveReservations.model.SeatManager;
import LiveReservations.model.clients.AClient;

/**
 * Abstracted mean of a business
 * @author grigo_000
 */
public abstract class ABusiness {

    protected String name;
    protected String address = "";
    protected SeatManager seatStatus;
    private AClient owner;
    private Rating rate;
    private long id;

    public ABusiness(String name, int estSeats) {
        this.name = name;
        this.seatStatus = new SeatManager(estSeats);
        this.rate = new Rating();
    }
    
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public void setSeatStatus(SeatManager seatStatus) {
        this.seatStatus = seatStatus;
    }
    

    public SeatManager getSeatStatus() {
        return seatStatus;
    }

    public AClient getOwner() {
        return owner;
    }

    public void setOwner(AClient owner) {
        this.owner = owner;
    }
    
    //example call: ABusiness.getRating().rateUp();
    public Rating getRating() {
        return rate;
    }
}
